In the days of analog broadcast television, video programming was naturally synchronized between different television sets because they each received the same signal at the same time. However, with modern video streaming over the Internet, each viewer's video player machine (e.g., internet-capable television set or computing device) independently downloads, decodes, and displays its video stream.
Users in different locations may want to watch the same video content in a synchronized manner such that they can discuss the content with accompanying voice or video chat. For example, a group of friends might want to watch a live sporting event and discuss the game over a voice connection as it unfolds. If the video is not closely synchronized, then some viewers might see and communicate about events other viewers had not yet seen.
The problem is complicated by network latency between the viewers, as well as the latency of the video player itself, which may need to download, buffer, and decode data in order to respond to commands. Previous products such as Microsoft Corporation's “Sky” and “Netflix” players for Xbox® 360 have attempted synchronized video, but the video was not tightly synchronized (the synchronization window was approximately a couple of seconds).